#ifndef __PVMRENDERSOURCE_H__
#define __PVMRENDERSOURCE_H__

#include "pvm/pvmapi.h"

class IPVMVoice;

class IPVMVoiceSource
{
protected:
	IPVMVoiceSource() {};
public:
	virtual ~IPVMVoiceSource()
	{

	};

	virtual IPVMVoice* CreateVoice(pvm_int desiredSamplesPerSecond, pvm_int desiredBitsPerSample, pvm_int desiredChanelsNum) = 0;
	virtual void Destroy() = 0;
	virtual pvm_int GetLengthMS() = 0;

	virtual pvm_bool GetOption(const pvm_char* optionName, void* optionVal, pvm_uint32* optionSize) = 0;
	virtual pvm_bool SetOption(const pvm_char* optionName, void* optionVal, pvm_uint32 optionSize) = 0;
};

#endif
